# todo：文件读取方式一：
# f = open("student.txt","r",encoding="utf-8")
# print(f.read()) # 读取这个文件的全部内容
# # 关闭文件
# f.close()
"""
open():
第一个为文件所在路径：可以是绝对路径/相对路径
todo:第二个为打开方式：r是可读，w是可写入，a是追加写入
第三个是设置编码：“utf-8”
"""
# todo：文件读取方式二：使用with上下文管理，这种方式不需要手动关闭文件
# with open("student.txt","r",encoding="utf-8") as f:
#     print(f.read())
"""
with open(文件地址，模式，编码) as f: 起了一个别名
    f.read() # 读取全部的内容
"""
# todo:文件写入方式一：
# 用w模式可以写入，如果这个文件之前不存在，则是新增；如果存在，则是内容覆盖
# f = open("student_info.txt","w",encoding="utf-8")
# f.write("软件测试开发")
# f.close()

# todo:文件写入方式二：w模式，如果文件不存在则是新增，文件存在写入就会覆盖
# with open("student2.txt","w",encoding="utf-8") as f:
#     f.write("好健康\n社会林\n可欣")

# todo:文件追加方式一：在文件的末尾，继续写入
# f = open("student.txt","a",encoding="utf-8")
# f.write("\n白哥")
# f.write("\n小丁")
# f.close()
# todo：文件追加方式二：
# name = input("请输入你要新增的名字：")
# with open("student.txt","a",encoding="utf-8") as f:
#     f.write("\n" + name)

# 综合案例一：图书管理系统
"""
图书管理系统：
1、新增图书
2、修改图书
3、删除图书
4、查看所有的图书
存到book.txt文件里面
"""
# book_dict = {}
# while True:
#     print("欢迎来到图书管理系统！")
#     print("请你选择对应的选项：")
#     print("1、新增图书","2、修改图书","3、删除图书","4、查看所有的图书","5、退出图书管理系统",sep = "\n")
#     r = input("请输入选项：")
#     if  r == "1":
#         book_name = input("请您输入要新增的图书名称：")
#         with open("book.txt","r",encoding="utf-8") as f:
#             list_r = f.readlines() # 读取所有的文件行
#             print(list_r)
#         if book_name not in list_r:
#             zuo = input("请输入新增的图书作者：")
#             book_dict[book_name] = {"图书作者":zuo}
#             print(f"图书新增成功：{book_name},图书作者为：{zuo}")
#             with open("book.txt","a",encoding="utf-8") as f:
#                 f.write(f"{book_name},{zuo}\n")
#         else:
#             print("图书已经存在了，新增是失败的")
#     elif r == "2":
#         pass
#     elif r == "3":
#         pass
#     elif r == "4":
#         with open("book.txt","r",encoding="utf-8") as f:
#             print(f.readlines())
#     elif r == "5":
#         print("感谢您的使用！")
#         break

# 综合案例二：学生信息新增
# def student_info(num):
#     i = 0
#     r_list = []
#     while i < num:
#         name = input("请输入姓名：")
#         address = input("请输入地址：")
#         phone_number = input("请输入手机号：")
#         sex = input("请输入性别：")
#         s_id = input("请输入学号：")
#         # 把学生信息整理成一个字符串
#         str_obj = f"学号：{s_id},学生性别：{sex},学生手机号：{phone_number},学生住址:{address},学生姓名:{name}\n"
#         # 把这个字符串添加到列表里
#         r_list.append(str_obj)
#         i += 1
#     # 最后写入文件流里面
#     with open("student_info.txt","a",encoding="utf-8") as f:
#         f.writelines(r_list) # 可以把一个列表写入，会按照列表里面的每一个对象写入
# student_info(2)